In the financial industry, it is desirable to disseminate financial data (earnings, stock prices, etc.) in a quick and accurate manner. It is also desirable that the format in which this information is disseminated is easy for people working in the financial industry (for example, brokers and analysts), as well as the individual investor, to quickly understand. As a result, such financial information is typically provided in the form of xe2x80x9cinvestment reviewsxe2x80x9d or similarly titled textual reports. These reports provide textual summaries and analysis of the financial data presented, and may also provide graphical or tabular representations of that data. For example, a report on company ABC may report the current stock price and quarterly earnings, may also report the earnings growth or rate of return over a selected time period (e.g., annually), and may further provide qualitative commentary as to how the company is performing. The person reading the investment review may then draw conclusions from the analysis given by the report, for example, whether to buy, sell or hold company ABC securities.
Because such investment reports are textual in nature, they are typically generated by one or more people who gather the necessary information, perform appropriate calculations and then compose the textual summaries that provide the analysis of financial performance levels. However, using people to generate these reports has many drawbacks. It takes time to generate these reports, even with the aid of electronic publishing and spreadsheet tools. Market reaction to financial data is often instantaneous, and the sooner xe2x80x9crawxe2x80x9d financial information can be digested and made available to financial professionals the better. Furthermore, thousands of companies around the world are traded publicly, and therefore the amount of manpower needed to generate financial summariesxe2x80x94which is directly proportionate to the number of companies to be reviewedxe2x80x94is substantial.
Attempts have been made to automate the process of generating such financial reports. For example, Research Data Group, Inc. (of San Francisco, Calif.), has provided investment reports on mutual funds generated via a computer program that calculates various financial benchmarks based on supplied financial data, and provides textual summaries based on these calculations. This text provides the reader with descriptions of the relative performance of the subject fund versus its peer funds and versus a market index such as the SandP 500. It also provides text that identifies investment sectors and the percentage each sector represents of the fund""s portfolio, as well as giving the reader a textual interpretation of statistics that quantify the risk in the portfolio relative to the risk being assumed in the portfolios of peer funds.
This program for mutual funds, however, was found to be inadequate for dealing with common real-world situations involving the various types of securities and corporate statistics. The mutual fund program used traditional computational logic methods, which were part of a xe2x80x9chard-codedxe2x80x9d decisional structure (implemented using Microsoft Visual Basic). Thus, this program could not be adapted, for example, to varying security types, corporate financial information, or analytical computations. This program also could not be adapted for varying textual responses across different data ranges or different security types.
Furthermore, this program could not adequately deal with complex situations such as transitions from positive to negative quantities (and vice versa), evaluations involving zero quantities, and evaluations involving quantities converging to zero. These situations are not uncommon when evaluating corporate financial data: earnings may be positive or negative (or zero); return on investment may be negative or zero; earnings may transition from positive to negative over the course of a fiscal year (and vice versa); price-to-earnings ratios may experience large changes as earnings expand or contract close to zero; as well as other possible situations.
An exemplary embodiment according to the present invention is implemented as a text generation system. The exemplary text generation system may include a memory system that contains raw data, text data, and a number of decisional statements which each include at least one operand and a number of result groupings; as well as a text generator operatively coupled to the memory system to produce a text report using the decisional statements, the raw data and the text data.
The text generation system generates text output by evaluating a base equation using the operand(s) of a decisional statement to obtain an equation result. The text generation system then selects one result grouping out of the number of result groupings of the decisional statement based on the equation result, and determines a logic path based on the selected result grouping. The system further selects a text fragment from the text data based on the logic path, and then generates an output that includes the text fragment.
The text generation system implementation according to the present invention may be beneficially employed to quickly generate textual reports that are easily readable by those interested in interpretations of raw data. For example, financial reports may be created from financial data (e.g., stock prices, earnings figures) in a format that is easily readable by interested investors. The ability of the exemplary text generation system to handle complex analytical cases such as negative-positive transitions of quantities and values approaching or equal to zero allows the text generation system to be employed in a variety of real world situations where flexibility and adaptability are important.
Furthermore, such reports can be generated almost instantaneouslyxe2x80x94as fast as the text generation system can access the raw data, compute the various equations and select the proper text elements. Accordingly, large numbers of reports can be generated in a short period of time, and reports can be provided on a nearly real-time basis. Further efficiencies may be achieved where certain report types are in a standardized format, such that similar decisional statements and text fragments can be reused with different raw data files to produce multiple reports.